package com.stu.io;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * 文件工具类
 * @author Administrator
 */
public class FilesUtil {
	
	private String path = "C:/1.txt";
	
	/**
	 * 向文件写入内容
	 * @param content 内容
	 */
	public void output(String content) {
		try {
			// 获取一个输出对象
			FileOutputStream fileOutputStream = new FileOutputStream(path);
			// 输出
			fileOutputStream.write(content.getBytes());
			// 关闭流
			fileOutputStream.close();
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	
	/**
	 * 读取文件内容
	 * @return 返回内容
	 */
	public String input(){
		try {
			//要去抽谁
			FileInputStream fis = new FileInputStream(path);
			//用来装的容器
			//[0,1,1,0,1,0,1]
			ByteArrayOutputStream baos = new ByteArrayOutputStream();
			//每一次抽的过程
			int content;
			//fis.read()逐个字节读内容并判断是否读取完（是否为-1）
			//循环抽
			while((content = fis.read()) != -1) {
				// 每次读的内容给OutputStream
				baos.write(content);
			}
			// 把输出流转字符串
			String conStr = new String(baos.toByteArray());
			fis.close();
			return conStr;
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}catch (IOException e) {
			e.printStackTrace();
		}
		return "";
	}
	
	/**
	 * File 创建一个文件夹
	 * @param path 文件夹或文件路径
	 * @return 成功或失败
	 */
	public boolean createFile(String path) {
		File file = new File(path);
		//mkdir创建文件夹
		return file.mkdir();
	}
	
	/**
	 * 删除一个文件夹或文件夹
	 * @param path 文件夹或文件路径
	 * @return 成功或失败
	 */
	public boolean deleteFile(String path) {
		File file = new File(path);
		return file.delete();
	}
	
	/**
	 * 查询当前目录下有哪些文件或文件夹
	 * @param path
	 * @return
	 */
	public File[] selectFile(String path) {
		File file = new File(path);
		return file.listFiles();
	}
}
